package com.excell.template;


import com.excell.support.excellbasic.ExcellSheetBasic;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;

/**
 * @User c.c
 * @Since 2022/12/16
 * @Time 11:50
 * @Description
 */

public interface ExcellTemplate<T> {
  /**
   * 初始化工作簿（sheet）
   * @author C.c
   * @since 2022-12-16 11:58
   * @return ExcellSheetBasic<T>
  **/
  ExcellSheetBasic<T> initSheet(String tableName);

  /**
   * 设置表格样式
   * @author C.c
   * @since 2022-12-16 11:59
   * @param hssfCellStyle 工作簿基础样式数据
   * @return  HSSFCellStyle
  **/
  HSSFCellStyle setStyly(HSSFCellStyle hssfCellStyle);

  /**
   * 设置字体样式
   * @author C.c
   * @since 2022-12-16 12:00
   * @param  hssfFont 字体样式
   * @return  HSSFFont
  **/
  HSSFFont setfront(HSSFFont hssfFont);

  /**
   * 设置表格表头
   * @author C.c
   * @since 2022-12-16 12:01
   * @return  ExcellSheetBasic<T> 工作簿基础数据
  **/
  ExcellSheetBasic<T> setExcellTitle();

  /**
   * 设置表格内容
   * @author C.c
   * @since 2022-12-16 12:01
   * @param excellSheetBasic 工作簿基础数据
   *  */
  void setExcellContent(ExcellSheetBasic<T> excellSheetBasic);
}
